package zengqiang.day03


fun main(args: Array<String>) {
    var a = Apple()
    var b = FruitBox(a)
    println(b.thing)//zengqiang.day03.Apple@2de80c
}

//<T>是泛型的声明，后一个T是泛型的使用
open class Box<T>(var thing: T)//物品类型不确定

class FruitBox(thing: Fruit) : Box<Fruit>(thing)
//如果子类也不确定类型,
class SonBox<T>(thing: T) : Box<T>(thing)//第一个T是声明，后面两个都是使用

abstract class Fruit
class Apple : Fruit()
